/**
******************************************************************************
* 文件名程: ntc.c 
* 作    者: 东莞邓凯哥---微信:D13631760681
* 功    能: NTC温度查表转换
* 硬    件: PY32F403C_KFB_V0.1
* 说明：
* 软件版本 V1.0.1(2024/5/6 16:02)
******************************************************************************
**/
#include "ntc.h"

#define NTC_LEN 161

#define REF_3V3	1
#define REF_5V	0

#if REF_3V3
const uint16_t 	NTC_RES[NTC_LEN]={
///*----------顺络贴片热敏电阻 型号SDNT2012X103F3950FTF 基准电压 3.3V 计算数值*/
0xF92,//-40℃
0xF8A,//-39℃
0xF82,//-38℃
0xF7A,//-37℃
0xF71,//-36℃
0xF67,//-35℃
0xF5D,//-34℃
0xF53,//-33℃
0xF48,//-32℃
0xF3C,//-31℃
0xF30,//-30℃
0xF23,//-29℃
0xF15,//-28℃
0xF07,//-27℃
0xEF8,//-26℃
0xEE8,//-25℃
0xED8,//-24℃
0xEC6,//-23℃
0xEB5,//-22℃
0xEA2,//-21℃
0xE8E,//-20℃
0xE7A,//-19℃
0xE64,//-18℃
0xE4E,//-17℃
0xE37,//-16℃
0xE1F,//-15℃
0xE06,//-14℃
0xDED,//-13℃
0xDD2,//-12℃
0xDB6,//-11℃
0xD9A,//-10℃
0xD7D,//-9℃
0xD5E,//-8℃
0xD3F,//-7℃
0xD1F,//-6℃
0xCFD,//-5℃
0xCDB,//-4℃
0xCB9,//-3℃
0xC95,//-2℃
0xC70,//-1℃
0xC4B,//0℃
0xC24,//1℃
0xBFD,//2℃
0xBD6,//3℃
0xBAD,//4℃
0xB84,//5℃
0xB5A,//6℃
0xB30,//7℃
0xB05,//8℃
0xAD9,//9℃
0xAAD,//10℃
0xA81,//11℃
0xA54,//12℃
0xA27,//13℃
0x9F9,//14℃
0x9CB,//15℃
0x99D,//16℃
0x96F,//17℃
0x941,//18℃
0x913,//19℃
0x8E5,//20℃
0x8B7,//21℃
0x889,//22℃
0x85B,//23℃
0x82D,//24℃
0x800,//25℃
0x7D2,//26℃
0x7A5,//27℃
0x779,//28℃
0x74D,//29℃
0x721,//30℃
0x6F6,//31℃
0x6CB,//32℃
0x6A1,//33℃
0x677,//34℃
0x64E,//35℃
0x626,//36℃
0x5FE,//37℃
0x5D7,//38℃
0x5B0,//39℃
0x58A,//40℃
0x565,//41℃
0x541,//42℃
0x51D,//43℃
0x4FA,//44℃
0x4D8,//45℃
0x4B6,//46℃
0x495,//47℃
0x475,//48℃
0x456,//49℃
0x437,//50℃
0x419,//51℃
0x3FC,//52℃
0x3DF,//53℃
0x3C3,//54℃
0x3A8,//55℃
0x38E,//56℃
0x374,//57℃
0x35B,//58℃
0x342,//59℃
0x32A,//60℃
0x313,//61℃
0x2FD,//62℃
0x2E7,//63℃
0x2D2,//64℃
0x2BD,//65℃
0x2A9,//66℃
0x295,//67℃
0x282,//68℃
0x270,//69℃
0x25E,//70℃
0x24D,//71℃
0x23C,//72℃
0x22B,//73℃
0x21B,//74℃
0x20C,//75℃
0x1FD,//76℃
0x1EF,//77℃
0x1E0,//78℃
0x1D3,//79℃
0x1C5,//80℃
0x1B9,//81℃
0x1AC,//82℃
0x1A0,//83℃
0x194,//84℃
0x189,//85℃
0x17E,//86℃
0x173,//87℃
0x169,//88℃
0x15F,//89℃
0x155,//90℃
0x14C,//91℃
0x142,//92℃
0x139,//93℃
0x131,//94℃
0x128,//95℃
0x120,//96℃
0x118,//97℃
0x111,//98℃
0x109,//99℃
0x102,//100℃
0xFB,//101℃
0xF5,//102℃
0xEE,//103℃
0xE8,//104℃
0xE1,//105℃
0xDB,//106℃
0xD6,//107℃
0xD0,//108℃
0xCB,//109℃
0xC5,//110℃
0xC0,//111℃
0xBB,//112℃
0xB6,//113℃
0xB2,//114℃
0xAD,//115℃
0xA9,//116℃
0xA4,//117℃
0xA0,//118℃
0x9C,//119℃
0x98,//120℃


};
#endif

#if REF_5V
const uint16_t 	NTC_RES[NTC_LEN]={
///*----------顺络贴片热敏电阻 型号SDNT2012X103F3950FTF 基准电压 5.0V 计算数值*/
0xF92,//-40℃
0xF8A,//-39℃
0xF82,//-38℃
0xF7A,//-37℃
0xF71,//-36℃
0xF67,//-35℃
0xF5D,//-34℃
0xF53,//-33℃
0xF48,//-32℃
0xF3C,//-31℃
0xF30,//-30℃
0xF23,//-29℃
0xF15,//-28℃
0xF07,//-27℃
0xEF8,//-26℃
0xEE8,//-25℃
0xED8,//-24℃
0xEC6,//-23℃
0xEB5,//-22℃
0xEA2,//-21℃
0xE8E,//-20℃
0xE7A,//-19℃
0xE64,//-18℃
0xE4E,//-17℃
0xE37,//-16℃
0xE1F,//-15℃
0xE06,//-14℃
0xDED,//-13℃
0xDD2,//-12℃
0xDB6,//-11℃
0xD9A,//-10℃
0xD7D,//-9℃
0xD5E,//-8℃
0xD3F,//-7℃
0xD1F,//-6℃
0xCFD,//-5℃
0xCDB,//-4℃
0xCB9,//-3℃
0xC95,//-2℃
0xC70,//-1℃
0xC4B,//0℃
0xC24,//1℃
0xBFD,//2℃
0xBD6,//3℃
0xBAD,//4℃
0xB84,//5℃
0xB5A,//6℃
0xB30,//7℃
0xB05,//8℃
0xAD9,//9℃
0xAAD,//10℃
0xA81,//11℃
0xA54,//12℃
0xA27,//13℃
0x9F9,//14℃
0x9CB,//15℃
0x99D,//16℃
0x96F,//17℃
0x941,//18℃
0x913,//19℃
0x8E5,//20℃
0x8B7,//21℃
0x889,//22℃
0x85B,//23℃
0x82D,//24℃
0x800,//25℃
0x7D2,//26℃
0x7A5,//27℃
0x779,//28℃
0x74D,//29℃
0x721,//30℃
0x6F6,//31℃
0x6CB,//32℃
0x6A1,//33℃
0x677,//34℃
0x64E,//35℃
0x626,//36℃
0x5FE,//37℃
0x5D7,//38℃
0x5B0,//39℃
0x58A,//40℃
0x565,//41℃
0x541,//42℃
0x51D,//43℃
0x4FA,//44℃
0x4D8,//45℃
0x4B6,//46℃
0x495,//47℃
0x475,//48℃
0x456,//49℃
0x437,//50℃
0x419,//51℃
0x3FC,//52℃
0x3DF,//53℃
0x3C3,//54℃
0x3A8,//55℃
0x38E,//56℃
0x374,//57℃
0x35B,//58℃
0x342,//59℃
0x32A,//60℃
0x313,//61℃
0x2FD,//62℃
0x2E7,//63℃
0x2D2,//64℃
0x2BD,//65℃
0x2A9,//66℃
0x295,//67℃
0x282,//68℃
0x270,//69℃
0x25E,//70℃
0x24D,//71℃
0x23C,//72℃
0x22B,//73℃
0x21B,//74℃
0x20C,//75℃
0x1FD,//76℃
0x1EF,//77℃
0x1E0,//78℃
0x1D3,//79℃
0x1C5,//80℃
0x1B9,//81℃
0x1AC,//82℃
0x1A0,//83℃
0x194,//84℃
0x189,//85℃
0x17E,//86℃
0x173,//87℃
0x169,//88℃
0x15F,//89℃
0x155,//90℃
0x14C,//91℃
0x142,//92℃
0x139,//93℃
0x131,//94℃
0x128,//95℃
0x120,//96℃
0x118,//97℃
0x111,//98℃
0x109,//99℃
0x102,//100℃
0xFB,//101℃
0xF5,//102℃
0xEE,//103℃
0xE8,//104℃
0xE1,//105℃
0xDB,//106℃
0xD6,//107℃
0xD0,//108℃
0xCB,//109℃
0xC5,//110℃
0xC0,//111℃
0xBB,//112℃
0xB6,//113℃
0xB2,//114℃
0xAD,//115℃
0xA9,//116℃
0xA4,//117℃
0xA0,//118℃
0x9C,//119℃
0x98,//120℃



};
#endif

///////-40℃---120℃
const int16_t 	NTC_TEMP[NTC_LEN]={
-40	,
-39	,
-38	,
-37	,
-36	,
-35	,
-34	,
-33	,
-32	,
-31	,
-30	,
-29	,
-28	,
-27	,
-26	,
-25	,
-24	,
-23	,
-22	,
-21	,
-20	,
-19	,
-18	,
-17	,
-16	,
-15	,
-14	,
-13	,
-12	,
-11	,
-10	,
-9	,
-8	,
-7	,
-6	,
-5	,
-4	,
-3	,
-2	,
-1	,
0	,
1	,
2	,
3	,
4	,
5	,
6	,
7	,
8	,
9	,
10	,
11	,
12	,
13	,
14	,
15	,
16	,
17	,
18	,
19	,
20	,
21	,
22	,
23	,
24	,
25	,
26	,
27	,
28	,
29	,
30	,
31	,
32	,
33	,
34	,
35	,
36	,
37	,
38	,
39	,
40	,
41	,
42	,
43	,
44	,
45	,
46	,
47	,
48	,
49	,
50	,
51	,
52	,
53	,
54	,
55	,
56	,
57	,
58	,
59	,
60	,
61	,
62	,
63	,
64	,
65	,
66	,
67	,
68	,
69	,
70	,
71	,
72	,
73	,
74	,
75	,
76	,
77	,
78	,
79	,
80	,
81	,
82	,
83	,
84	,
85	,
86	,
87	,
88	,
89	,
90	,
91	,
92	,
93	,
94	,
95	,
96	,
97	,
98	,
99	,
100	,
101	,
102	,
103	,
104	,
105	,
106	,
107	,
108	,
109	,
111	,
110	,
112	,
113	,
114	,
115	,
116	,
117	,
118	,
119	,
120	,

};

/******************************************************************************
**函数信息 : ADC_Get_TempValue( uint16_t adcval)      
**功能描述 ：根据ADC数值计算实际温度
**输入参数 ：无
**输出参数 ：无
**说    明 : 通过查表计算
******************************************************************************/
int16_t ADC_Get_TempValue( uint16_t val)
{
	uint8_t i;
	float temp;
	for(i = 0;i < NTC_LEN; i++)
	{
		if( (val <= NTC_RES[i]) & (val > NTC_RES[i+1]) )
		{
			break;
		}
	}
	return NTC_TEMP[i];
}